﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.EstabelecimentoWS;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.ClienteWs;
using PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.PromocaoWs;
using System.ComponentModel;

namespace PUBCLUB_2014_VISUAL_STUDIO_PRO_2010.GUI
{
    public partial class EstabelecimentoPesquisarPromocao : System.Web.UI.Page
    {
        ObjetoPromocao promocao = new ObjetoPromocao();
        PubClub_Promocao_WS webServicePromocao = new PubClub_Promocao_WS();
        PubClub_Cliente_WS webServiceCliente = new PubClub_Cliente_WS();
        ObjetoCliente cliente = new ObjetoCliente();
        PubClub_Estabelecimento_WS webServiceEstabelecimento = new PubClub_Estabelecimento_WS();
        ObjetoEstabelecimento estabelecimento = new ObjetoEstabelecimento();

        TableHeaderRow linhaCabecalho = new TableHeaderRow();

        TableHeaderCell celulaCabecalhoNomeDoEstabelecimento = new TableHeaderCell();
        Label labelCabecalhoNomeDoEstabelecimento = new Label();

        TableHeaderCell celulaCabecalhoNomeDaPromocao = new TableHeaderCell();
        Label labeCabecalhoNomeDaPromocao = new Label();

        TableHeaderCell celulaCabecalhoDescricaoDaPromocao = new TableHeaderCell();
        Label labelCabecalhoDescricaoDaPromocao = new Label();

        TableHeaderCell celulaCabecalhoValidadeDaPromocao = new TableHeaderCell();
        Label labelCabecalhoValidadePromocao = new Label();





        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Estabelecimento"] == null)
            {
                Response.Redirect("Login.aspx?Logout=2");
            }
            else
            {
                estabelecimento = webServiceEstabelecimento.GetEstabelecimento(Convert.ToInt32(Session["Estabelecimento"]));
            }

            labelCabecalhoNomeDoEstabelecimento.Text = "Estabelecimento";
            celulaCabecalhoNomeDoEstabelecimento.Controls.Add(labelCabecalhoNomeDoEstabelecimento);
            linhaCabecalho.Cells.Add(celulaCabecalhoNomeDoEstabelecimento);

            labeCabecalhoNomeDaPromocao.Text = "Nome da promoção";
            celulaCabecalhoNomeDaPromocao.Controls.Add(labeCabecalhoNomeDaPromocao);
            linhaCabecalho.Cells.Add(celulaCabecalhoNomeDaPromocao);

            labelCabecalhoDescricaoDaPromocao.Text = "Descrição";
            celulaCabecalhoDescricaoDaPromocao.Controls.Add(labelCabecalhoDescricaoDaPromocao);
            linhaCabecalho.Cells.Add(celulaCabecalhoDescricaoDaPromocao);

            labelCabecalhoValidadePromocao.Text = "Validade";
            celulaCabecalhoValidadeDaPromocao.Controls.Add(labelCabecalhoValidadePromocao);
            linhaCabecalho.Cells.Add(celulaCabecalhoValidadeDaPromocao);

            tabelaPromocao.Rows.Add(linhaCabecalho);

            tabelaPromocao.Visible = false;

        }
        protected void btBuscar_Click(object sender, EventArgs e)
        {
            BindingList<ObjetoPromocao> listaPromocao = new BindingList<ObjetoPromocao>(webServicePromocao.SearchPromocao(txtBuscarPromocao.Text));

            if (txtBuscarPromocao.Text.Trim().Equals(""))
            {
                lbAviso.Text = "Preencha o título da promoção.";
                lbAviso.ForeColor = System.Drawing.Color.Red;
                lbAviso.Visible = true;
                lbAviso.Focus();
                return;

            }
            else

                if (listaPromocao.Count == 0)
                {
                    lbAviso.Text = "Nenhuma promoção encontrada.";
                    lbAviso.ForeColor = System.Drawing.Color.Red;
                    lbAviso.Visible = true;
                    return;

                }

            tabelaPromocao.Visible = true;

            int i = 0;
            foreach (var item in listaPromocao)
            {
             
                TableRow linhaDados = new TableRow();
                TableCell celulaDadosNomeDoEstabelecimento = new TableCell();
                HyperLink hyperlinkNomeDoEstabelecimento = new HyperLink();
                TableCell celulaDadosNomeDaPromocao = new TableCell();
                Label labelDadosNomeDaPromocao = new Label();
                TableCell celulaDadosDescricaoDaPromocao = new TableCell();
                Label labelDadosDescricaoDaPromocao = new Label();
                TableCell celulaDadosValidadeDaPromocao = new TableCell();
                Label labelDadosValidadeDaPromocao = new Label();

                if (i % 2 != 0)
                {
                    linhaDados.CssClass = "odd";
                }

                i++;

                hyperlinkNomeDoEstabelecimento.Text = webServiceEstabelecimento.GetEstabelecimento(item.EstabelecimentoId).NomeFantasia;
                hyperlinkNomeDoEstabelecimento.NavigateUrl = "~/GUI/EstabelecimentoVerPerfilEstabelecimento.aspx?EstabelecimentoId=" + item.EstabelecimentoId;
                celulaDadosNomeDoEstabelecimento.Controls.Add(hyperlinkNomeDoEstabelecimento);
                linhaDados.Cells.Add(celulaDadosNomeDoEstabelecimento);

                labelDadosNomeDaPromocao.Text = item.Titulo;
                celulaDadosNomeDaPromocao.Controls.Add(labelDadosNomeDaPromocao);
                linhaDados.Cells.Add(celulaDadosNomeDaPromocao);

                labelDadosDescricaoDaPromocao.Text = item.Descricao;
                celulaDadosDescricaoDaPromocao.Controls.Add(labelDadosDescricaoDaPromocao);
                linhaDados.Cells.Add(celulaDadosDescricaoDaPromocao);

                labelDadosValidadeDaPromocao.Text = Convert.ToDateTime(item.Validade).ToShortDateString();
                celulaDadosValidadeDaPromocao.Controls.Add(labelDadosValidadeDaPromocao);
                linhaDados.Cells.Add(celulaDadosValidadeDaPromocao);

                tabelaPromocao.Rows.Add(linhaDados);
            }

            LabelCount.Text = "Total encontrado: " + listaPromocao.Count();
            LabelCount.Visible = true;
        }
    }
}